package com.ktgj.hotel.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ktgj.common.core.annotation.Excel;
import com.ktgj.common.core.web.domain.BaseEntity;

/**
 * 支付明细
对象 hotel_order_paydetail
 * 
 * @author ruoyi
 * @date 2021-12-08
 */
public class HotelOrderPaydetail extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键自增 */
    private Long paydetailid;

    /** 交易记录编号 */
    @Excel(name = "交易记录编号")
    private String tradeorderid;

    /** 支付类型：1、信用卡 2、银联语音 3、微信支付 4、支付宝 5差旅 0:非卡，6:、储蓄卡  75、一网通；【线下支付用：10：快钱，20：网银，30：易宝，40：汇款:，50：银联卡。】 */
    @Excel(name = "支付类型：1、信用卡 2、银联语音 3、微信支付 4、支付宝 5差旅 0:非卡，6:、储蓄卡  75、一网通；【线下支付用：10：快钱，20：网银，30：易宝，40：汇款:，50：银联卡。】")
    private String paytype;

    /** 发卡行 */
    @Excel(name = "发卡行")
    private String accountbank;

    /** 卡号 */
    @Excel(name = "卡号")
    private String cardnum;

    /** 持卡人姓名 */
    @Excel(name = "持卡人姓名")
    private String cardholdname;

    /** 有效期 */
    @Excel(name = "有效期")
    private String cardlimit;

    /** 验证码CVV2 */
    @Excel(name = "验证码CVV2")
    private String cvv2;

    /** 证件类型 */
    @Excel(name = "证件类型")
    private String credentialstypecode;

    /** 证件号码 */
    @Excel(name = "证件号码")
    private String credentialsnumber;

    /** 金额 */
    @Excel(name = "金额")
    private BigDecimal amount;

    /** 开卡手机号 */
    @Excel(name = "开卡手机号")
    private String cardtel;

    /** 操作说明 */
    @Excel(name = "操作说明")
    private String opcomment;

    /** 1消费成功,2消费失败 */
    @Excel(name = "1消费成功,2消费失败")
    private Long paystatus;

    /** 线下，1,线上 */
    @Excel(name = "线下，1,线上")
    private String isonline;

    /** 平台支付id */
    @Excel(name = "平台支付id")
    private String applyid;

    /** 0：未确认 1：已确认 */
    @Excel(name = "0：未确认 1：已确认")
    private String isconfirm;

    /** 确认员工姓名 */
    @Excel(name = "确认员工姓名")
    private String confirmempname;

    /** 确认操作时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "确认操作时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date confirmoptime;

    /** 支付合作商  11:易宝；1:快钱；0:未知；12:易宝Web网关；21:微信App；22:微信Web；23:微信Native；31:支付宝App；32:支付宝web；41:网银在线Wap；43:网银在线Api；51:广易联语音；61:连连支付；71:交通银行；72:银联在线web；73:银联App；81:汇付天下web；91:联动优势Api；99:接口测试；101:苹果支付；111:三星支付；121:小米支付 */
    @Excel(name = "支付合作商  11:易宝；1:快钱；0:未知；12:易宝Web网关；21:微信App；22:微信Web；23:微信Native；31:支付宝App；32:支付宝web；41:网银在线Wap；43:网银在线Api；51:广易联语音；61:连连支付；71:交通银行；72:银联在线web；73:银联App；81:汇付天下web；91:联动优势Api；99:接口测试；101:苹果支付；111:三星支付；121:小米支付")
    private Long partnerid;

    /** 授权码 */
    @Excel(name = "授权码")
    private String tradeaauthorizecode;

    /** 汇款金额 */
    @Excel(name = "汇款金额")
    private BigDecimal remittanceprice;

    /** 汇款城市 */
    @Excel(name = "汇款城市")
    private String remittancecity;

    /** 订单号 */
    @Excel(name = "订单号")
    private Long orderid;

    /** 订单类型 1现付 2预付 */
    @Excel(name = "订单类型 1现付 2预付")
    private Long ordertype;

    /** 编辑时订单流程状态 */
    @Excel(name = "编辑时订单流程状态")
    private Long orderflowstatus;

    /** 订单版本号 */
    @Excel(name = "订单版本号")
    private Long orderversion;

    /** 1增加 2减少 */
    @Excel(name = "1增加 2减少")
    private Long changetype;

    /** 付(退)款原因 1房费,2取消险费,3意外险费,4订单返现,5担保金   建枚举表 */
    @Excel(name = "付(退)款原因 1房费,2取消险费,3意外险费,4订单返现,5担保金   建枚举表")
    private Long productid;

    /** 退款方式  0 无，1 原卡退回，2 线下(人工请款)，3 预留款 */
    @Excel(name = "退款方式  0 无，1 原卡退回，2 线下(人工请款)，3 预留款")
    private Long backtype;

    /** 退款(支付)总金额 */
    @Excel(name = "退款(支付)总金额")
    private BigDecimal amount2;

    /** 非预留款支付(退款)金额 */
    @Excel(name = "非预留款支付(退款)金额")
    private BigDecimal paymoney;

    /** 预留款使用金额 */
    @Excel(name = "预留款使用金额")
    private BigDecimal depositmoney;

    /** 预留款科目号 */
    @Excel(name = "预留款科目号")
    private String deposittype;

    /** $column.columnComment */
    @Excel(name = "预留款科目号")
    private Long joinplatformid;

    /**
     * 易宝支付签名
     * */
    private String hmac;

    /**
     * 房价
     * */
    private BigDecimal housePrice;

    public BigDecimal getHousePrice() {
        return housePrice;
    }

    public void setHousePrice(BigDecimal housePrice) {
        this.housePrice = housePrice;
    }

    public String getHmac() {
        return hmac;
    }

    public void setHmac(String hmac) {
        this.hmac = hmac;
    }

    public void setPaydetailid(Long paydetailid)
    {
        this.paydetailid = paydetailid;
    }

    public Long getPaydetailid() 
    {
        return paydetailid;
    }
    public void setTradeorderid(String tradeorderid) 
    {
        this.tradeorderid = tradeorderid;
    }

    public String getTradeorderid() 
    {
        return tradeorderid;
    }

    public String getPaytype() {
        return paytype;
    }

    public void setPaytype(String paytype) {
        this.paytype = paytype;
    }

    public void setAccountbank(String accountbank)
    {
        this.accountbank = accountbank;
    }

    public String getAccountbank() 
    {
        return accountbank;
    }
    public void setCardnum(String cardnum) 
    {
        this.cardnum = cardnum;
    }

    public String getCardnum() 
    {
        return cardnum;
    }
    public void setCardholdname(String cardholdname) 
    {
        this.cardholdname = cardholdname;
    }

    public String getCardholdname() 
    {
        return cardholdname;
    }
    public void setCardlimit(String cardlimit) 
    {
        this.cardlimit = cardlimit;
    }

    public String getCardlimit() 
    {
        return cardlimit;
    }
    public void setCvv2(String cvv2) 
    {
        this.cvv2 = cvv2;
    }

    public String getCvv2() 
    {
        return cvv2;
    }

    public String getCredentialstypecode() {
        return credentialstypecode;
    }

    public void setCredentialstypecode(String credentialstypecode) {
        this.credentialstypecode = credentialstypecode;
    }

    public void setCredentialsnumber(String credentialsnumber)
    {
        this.credentialsnumber = credentialsnumber;
    }

    public String getCredentialsnumber() 
    {
        return credentialsnumber;
    }
    public void setAmount(BigDecimal amount) 
    {
        this.amount = amount;
    }

    public BigDecimal getAmount() 
    {
        return amount;
    }
    public void setCardtel(String cardtel) 
    {
        this.cardtel = cardtel;
    }

    public String getCardtel() 
    {
        return cardtel;
    }
    public void setOpcomment(String opcomment) 
    {
        this.opcomment = opcomment;
    }

    public String getOpcomment() 
    {
        return opcomment;
    }
    public void setPaystatus(Long paystatus) 
    {
        this.paystatus = paystatus;
    }

    public Long getPaystatus() 
    {
        return paystatus;
    }
    public void setIsonline(String isonline) 
    {
        this.isonline = isonline;
    }

    public String getIsonline() 
    {
        return isonline;
    }
    public void setApplyid(String applyid) 
    {
        this.applyid = applyid;
    }

    public String getApplyid() 
    {
        return applyid;
    }
    public void setIsconfirm(String isconfirm) 
    {
        this.isconfirm = isconfirm;
    }

    public String getIsconfirm() 
    {
        return isconfirm;
    }
    public void setConfirmempname(String confirmempname) 
    {
        this.confirmempname = confirmempname;
    }

    public String getConfirmempname() 
    {
        return confirmempname;
    }
    public void setConfirmoptime(Date confirmoptime) 
    {
        this.confirmoptime = confirmoptime;
    }

    public Date getConfirmoptime() 
    {
        return confirmoptime;
    }
    public void setPartnerid(Long partnerid) 
    {
        this.partnerid = partnerid;
    }

    public Long getPartnerid() 
    {
        return partnerid;
    }
    public void setTradeaauthorizecode(String tradeaauthorizecode) 
    {
        this.tradeaauthorizecode = tradeaauthorizecode;
    }

    public String getTradeaauthorizecode() 
    {
        return tradeaauthorizecode;
    }
    public void setRemittanceprice(BigDecimal remittanceprice) 
    {
        this.remittanceprice = remittanceprice;
    }

    public BigDecimal getRemittanceprice() 
    {
        return remittanceprice;
    }
    public void setRemittancecity(String remittancecity) 
    {
        this.remittancecity = remittancecity;
    }

    public String getRemittancecity() 
    {
        return remittancecity;
    }
    public void setOrderid(Long orderid) 
    {
        this.orderid = orderid;
    }

    public Long getOrderid() 
    {
        return orderid;
    }
    public void setOrdertype(Long ordertype) 
    {
        this.ordertype = ordertype;
    }

    public Long getOrdertype() 
    {
        return ordertype;
    }
    public void setOrderflowstatus(Long orderflowstatus) 
    {
        this.orderflowstatus = orderflowstatus;
    }

    public Long getOrderflowstatus() 
    {
        return orderflowstatus;
    }
    public void setOrderversion(Long orderversion) 
    {
        this.orderversion = orderversion;
    }

    public Long getOrderversion() 
    {
        return orderversion;
    }
    public void setChangetype(Long changetype) 
    {
        this.changetype = changetype;
    }

    public Long getChangetype() 
    {
        return changetype;
    }
    public void setProductid(Long productid) 
    {
        this.productid = productid;
    }

    public Long getProductid() 
    {
        return productid;
    }
    public void setBacktype(Long backtype) 
    {
        this.backtype = backtype;
    }

    public Long getBacktype() 
    {
        return backtype;
    }
    public void setAmount2(BigDecimal amount2) 
    {
        this.amount2 = amount2;
    }

    public BigDecimal getAmount2() 
    {
        return amount2;
    }
    public void setPaymoney(BigDecimal paymoney) 
    {
        this.paymoney = paymoney;
    }

    public BigDecimal getPaymoney() 
    {
        return paymoney;
    }
    public void setDepositmoney(BigDecimal depositmoney) 
    {
        this.depositmoney = depositmoney;
    }

    public BigDecimal getDepositmoney() 
    {
        return depositmoney;
    }
    public void setDeposittype(String deposittype) 
    {
        this.deposittype = deposittype;
    }

    public String getDeposittype() 
    {
        return deposittype;
    }
    public void setJoinplatformid(Long joinplatformid) 
    {
        this.joinplatformid = joinplatformid;
    }

    public Long getJoinplatformid() 
    {
        return joinplatformid;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("paydetailid", getPaydetailid())
            .append("tradeorderid", getTradeorderid())
            .append("paytype", getPaytype())
            .append("accountbank", getAccountbank())
            .append("cardnum", getCardnum())
            .append("cardholdname", getCardholdname())
            .append("cardlimit", getCardlimit())
            .append("cvv2", getCvv2())
            .append("credentialstypecode", getCredentialstypecode())
            .append("credentialsnumber", getCredentialsnumber())
            .append("amount", getAmount())
            .append("cardtel", getCardtel())
            .append("opcomment", getOpcomment())
            .append("paystatus", getPaystatus())
            .append("isonline", getIsonline())
            .append("applyid", getApplyid())
            .append("isconfirm", getIsconfirm())
            .append("confirmempname", getConfirmempname())
            .append("confirmoptime", getConfirmoptime())
            .append("partnerid", getPartnerid())
            .append("tradeaauthorizecode", getTradeaauthorizecode())
            .append("remittanceprice", getRemittanceprice())
            .append("remittancecity", getRemittancecity())
            .append("orderid", getOrderid())
            .append("ordertype", getOrdertype())
            .append("orderflowstatus", getOrderflowstatus())
            .append("orderversion", getOrderversion())
            .append("changetype", getChangetype())
            .append("productid", getProductid())
            .append("backtype", getBacktype())
            .append("amount2", getAmount2())
            .append("paymoney", getPaymoney())
            .append("depositmoney", getDepositmoney())
            .append("deposittype", getDeposittype())
            .append("remark", getRemark())
            .append("joinplatformid", getJoinplatformid())
            .toString();
    }
}
